package dp.numdp.Array;
/**
 * @Date 2020/04/14
 * @author 王光浩
 * @Thinking 使用备忘录模式
 * @Analysis 时间复杂度O（n），空间复杂度O（n）
 */
public class MyMethodOne {
	private int[] num;
	private int[] count;
	public MyMethodOne(int[] nums) {
		num = nums;
		count = new int[nums.length];
		//统计从 第 0~第i 项的和
		if(nums.length>0) count[0] = nums[0];
		for(int i = 1 ; i < nums.length ;i++) 
			count[i]=count[i-1]+nums[i];
    }
    
    public int sumRange(int i, int j) {
    	if(i<0 || j<0 || j>num.length || i>num.length || i<j)return -1;
    	if(i==0)return count[j];
    	else return count[j]-count[i-1];
    }
}
